package com.tt.job.api.schedule;

import java.util.HashSet;
import java.util.Set;

/**
 * 任务的调度分类 调度触发任务 / 直接异步触发任务
 */
public enum ScheduleType {
    /**
     * 定时调度触发模式
     */
    TRIGGER,
    /**
     * 事件触发模式
     */
    EVENT,
    /**
     * 异步任务模式
     */
    ASYNC;

    /**
     * 通过参数构建返回对象列表
     * @param types
     * @return
     */
    public static Set<ScheduleType> toSet(ScheduleType ... types){
        HashSet<ScheduleType> result = new HashSet<>();
        for (ScheduleType scheduleType : types) {
            result.add(scheduleType);
        }
        return result;
    }
}
